import { createApp } from 'vue'
// 样式文件也可以通过动态导入实现懒加载，但对于全局样式，立即加载更合适
import './style.css'

// 使用动态导入实现组件懒加载，减少初始包大小
const loadAppComponent = async () => {
  try {
    // 动态导入App组件
    const App = await import('./App.vue')
    
    // 创建并挂载应用
    const app = createApp(App.default || App)
    
    // 为应用添加性能相关的配置
    app.config.performance = import.meta.env.DEV // 在开发环境启用性能追踪
    app.config.errorHandler = (err, instance, info) => {
      console.error('Vue错误:', err, info)
      // 可以在这里添加错误上报机制
    }
    
    // 挂载应用到DOM
    app.mount('#app')
    
    return app
  } catch (error) {
    console.error('应用加载失败:', error)
    // 显示错误提示
    document.getElementById('app').innerHTML = '<div class="app-error">应用加载失败，请刷新页面重试</div>'
    throw error
  }
}

// 启动应用
loadAppComponent()